package com.tinygray.cas;

import java.util.concurrent.atomic.AtomicInteger;

/**
 * @Author: tinygray
 * @Description: 公众号:Madison龙少，关注我你会越来越优秀。
 * @className: CasDemo
 * @create: 2021-05-06 22:09
 */
public class CasDemo {
    public static void main(String[] args) {
        //创建一个原子类
        AtomicInteger atomicInteger = new AtomicInteger(5);
        atomicInteger.getAndIncrement();
        /**
         * 一个是期望值，一个是更新值，但期望值和原来的值相同时，才能够更改
         * 假设三秒前，我拿的是5，也就是expect为5，然后我需要更新成 2019
         */

        System.out.println(atomicInteger.compareAndSet(5, 2021) + "\t current data: " + atomicInteger.get());
        System.out.println(atomicInteger.compareAndSet(5, 1996) + "\t current data: " + atomicInteger.get());
    }
}
